package lanqiao.真题.第12届Java大学B组;

/**
 * @author 挚爱之夕
 * @version 1.0
 * @implSpec
 * 小蓝有很多数字卡片，每张卡片上都是数字0到9。
 * 小蓝准备用这些卡片来拼一些数，他想从1开始拼出正整数，每拼一个，就保存起来，卡片就不能用来拼其它数了。
 * 小蓝想知道自己能从1拼到多少。
 * 例如，当小蓝有30张卡片，其中0到9各3张，则小蓝可以拼出1到10，但是拼11时卡片1已经只有一张了，不够拼出11。
 * 现在小蓝手里有0到9的卡片各2021张，共20210张，请问小蓝可以从1拼到多少？
 * @since 2023 - 04 - 07 - 23:42
 */
public class B_卡片 {
}
class MainB{
    static int[] nums = new int[10];
    public static void main(String[] args) {
        for(int i = 0; i < 10; i++) {
            nums[i] = 2021;
        }
        int cur = 1;
        while(true) {
            boolean res = get(cur);
            if(!res) {
                System.out.println(cur - 1);
                return;
            }
            cur++;
        }
    }
    static boolean get(int num) {
        int bit;
        while(num > 0) {
            bit = num % 10;
            num /= 10;
            if(nums[bit] <= 0) {
                return false;
            }
            nums[bit]--;
        }
        return true;
    }
}